package cn.edu.ncu.housinghub.entity.maintance;

import cn.edu.ncu.housinghub.entity.house.House;
import cn.edu.ncu.housinghub.entity.user.User;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import lombok.Data;
import java.time.LocalDateTime;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

/**
 * 维修申请表
 */
@Data
public class Maintenance {
    private Long maintenanceId; // 主键

    @NotNull(message = "申请人不能为空")
    private User user; // 申请人ID

    @NotNull(message = "房源信息不能为空")
    private House house; // 房源ID

    @NotBlank(message = "故障描述不能为空")
    private String faultDescription; // 故障描述

    @NotNull(message = "维修状态不能为空")
    @Min(value = 0, message = "维修状态必须为有效值")
    @Max(value = 2, message = "维修状态必须为有效值")
    private Integer maintenanceStatus; // 维修状态（0=待处理，1=处理中，2=已完成）
    private String faultPhoto; // 故障照片路径（OSS）
    private LocalDateTime createTime; // 申请时间
}
